<?php
namespace App\DashboardBundle\Utils;

class customFunctions
{
  public static function filterForLogin($dirtyText)
  {
    $clearText = $dirtyText;
    return $clearText;
  }
  
  public static function clear($dirtyText)
  {
    $clearText = $dirtyText;
    return $clearText;
  }
  
  public static function clearForUrl($dirtyText)
  {
    $clearText = $dirtyText;
    return $clearText;
  }
  
//  public static function pagination($page, $per_page, $total, $pageName = 'page', $delta = 0)
//  {
//    $link = $_SERVER['REQUEST_URI'];
//   
//    $queryString = $_SERVER['QUERY_STRING'];
//    
//    
//    if (strlen($queryString)>1) {      
//      // xervee URL dotor page gesen ug baival tuxain page iin urd ni "?" esvel "&" a
//      $pos = strpos($queryString, '&' . $pageName);
//      
//      if($pos === false)
//      { 
//        $operator = '&';        
//      }else{
//        $operator = '&';
//      }
//    } else {
//      $operator = '?';
//    }
//    $str_text = $operator.$pageName.'=' . $page;
//    
//    $new_link = str_replace($str_text, '', $link);
//    
//    
//    if ($delta == 0) {
//      $delta = 2;
//    }
//    if ($total % $per_page == 0) {
//      $total_page = $total / $per_page;
//    } else {
//      $total_page = floor($total / $per_page) + 1;
//    }
//    $page_html = 'Хуудас: ';
//    if ($page > $delta) {
//      $start_page = $page - $delta;
//    } else {
//      $start_page = 1;
//    }
//    if (($page > $delta) && ($page < $total_page - $delta)) {
//      $end_page = $page + $delta;
//    } elseif (($page < $delta + 1) && ($page < $total_page - $delta)) {
//      $end_page = $page + $delta;
//    } elseif (($page < $delta + 1) && ($total_page < $delta + 1)) {
//      $end_page = $total_page;
//    } else {
//      $end_page = $total_page;
//    }
//    if ($page > 1) {
//      $page_html .= '<a href="' . $new_link .
//              $operator . $pageName.'=1" class="paginate" title="Эхний"><<</a> ';
//      $page_html .= '<a href="' . $new_link . $operator . $pageName. '=' . ($page - 1) .
//              '" class="paginate" title="Өмнөх"><</a> ';
//    }
//    for ($i = $start_page; $i <= $end_page; $i++) {
//      if ($i != $page) {
//        $page_html .= ' <a href="' . $new_link . $operator . $pageName . '=' . $i .
//                '" class="paginate">' . $i . '</a> ';
//      } else {
//        $page_html .= ' <a href="' . $new_link . $operator . $pageName . '=' . $i .
//                '" class="selected_page" style="font-weight: bold;color:red">' . $i . '</a> ';
//      }
//    }
//    if ($page < $total_page) {
//      $page_html .= '<a href="' . $new_link . $operator . $pageName. '=' . ($page + 1) .
//              '" class="paginate" title="Дараагийн">></a> ';
//      $page_html .= '<a href="' . $new_link . $operator . $pageName . '=' . $total_page .
//              '" class="paginate" title="Сүүлчийн">>></a> ';
//    }
//    $min = ($page - 1) * $per_page + 1;
//    if ($page < $total_page) {
//      $max = $min + $per_page - 1;
//    } else {
//      $max = $total;
//    }
//    $page_html .= ' Нийт <b>' . $total . '</b> үр дүн байна. Энэ хуудсанд ' . $min .
//            '-' . $max;
//    return $page_html;
//  }
//  
  
  
  public static function pagination($page, $per_page, $total, $pageName = null, $delta = 0)
  {
    if (!isset($pageName)) {
      $pageName = $this->pageName;
    }

    $link = $_SERVER['REQUEST_URI'];


    if ($total % $per_page == 0) {
      $total_page = $total / $per_page;
    } else {
      $total_page = floor($total / $per_page) + 1;
    }

    preg_match('/\d/', $link, $m, PREG_OFFSET_CAPTURE);
    $pageNumberLength = (strlen($link) - 1) - $m[0][1];
    $urlPageNumber = (int) substr($link, $m[0][1], $pageNumberLength);
    $first_link = str_replace($urlPageNumber, 1, $link);
    $prev_link = str_replace($urlPageNumber, $urlPageNumber - 1, $link);
    $next_link = str_replace($urlPageNumber, $urlPageNumber + 1, $link);
    $last_link = str_replace($urlPageNumber, $total_page, $link);


    if ($delta == 0) {
      $delta = 2;
    }

    $page_html = '<div class = "dataTables_paginate paging_bootstrap pagination"><ul>';
    if ($page > $delta) {
      $start_page = $page - $delta;
    } else {
      $start_page = 1;
    }
    if (($page > $delta) && ($page < $total_page - $delta)) {
      $end_page = $page + $delta;
    } elseif (($page < $delta + 1) && ($page < $total_page - $delta)) {
      $end_page = $page + $delta;
    } elseif (($page < $delta + 1) && ($total_page < $delta + 1)) {
      $end_page = $total_page;
    } else {
      $end_page = $total_page;
    }


//    <div class = "dataTables_paginate paging_bootstrap pagination">
//      <ul>
//          <li class = "prev disabled"><a href = "#">← Өмнөх</a></li>
//          <li class = "active"><a href = "#">1</a></li>
//          <li><a href = "#">2</a></li>
//          <li><a href = "#">3</a></li>
//          <li><a href = "#">4</a></li>
//          <li><a href = "#">5</a></li>
//          <li class = "next"><a href = "#">Дараагийнх → </a></li>
//      </ul>
//    </div>


    if ($page > 1) {
      $page_html .= '<li class = "prev" title="Эхний"><a href = "' . $first_link . '" title="Эхний"> ← ← </a></li>';
      $page_html .= '<li class = "prev" title="Өмнөх"><a href = "' . $prev_link . '" title="Өмнөх"> ← </a></li>';
    }

    for ($i = $start_page; $i <= $end_page; $i++) {

      if ($i != $page) {
        $page_link = str_replace($urlPageNumber, $i, $link);
        $page_html .= '<li><a href = "' . $page_link . '">' . $i . '</a></li>';
      } else {
        $page_link = str_replace($urlPageNumber, $i, $link);
        $page_html .= '<li class = "active"><a href = "' . $page_link . '">' . $i . '</a></li>';
      }
    }
    if ($page < $total_page) {
      $page_html .= '<li class = "next" title="Дараагийнх"><a href = "' . $next_link . '"> → </a></li>';
      $page_html .= '<li class = "next" title="Сүүлчийн"><a href = "' . $last_link . '"> → → </a></li>';
    }
    $min = ($page - 1) * $per_page + 1;
    if ($page < $total_page) {
      $max = $min + $per_page - 1;
    } else {
      $max = $total;
    }
    $page_html .= '</div><div id="reportListTable_info" class="dataTables_info">' . $min . ' ээс ' . $max . ' харагдаж байна (Нийт ' . $total . ')</div>';
    return $page_html;
  }
  
  public static function randomRassword($length = 8)
  {
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_-=+;:,.?";
    $password = substr(str_shuffle($chars), 0, $length);
    
    return $password;
  }
  
  public static function getRoleStringFromRoleArray($role)
  {
    $roleString = '';
    if(!is_array($role))
    {
      return $roleString;
    }else{
      foreach ($role AS $key => $value) {
        if ($key == count($role) - 1) {
          $roleString .= $value;
        } else {
          $roleString .= $value . ', ';
        }
      }
    }
    
    return $roleString;
  }
  
  public static function getDaysBetweenDate($date1, $date2)
  {
    $interval = $date1->diff($date2);
    return $interval->days;
  }
  
  public static function generateInvoiceNumber($integer)
  {
    $integer = (int) $integer;
    return (string) str_pad($integer, 5, "0", STR_PAD_LEFT);
  }
  
  public static function getDistrictArray()
  {
    $array = array(
        1=>'Баянгол',
        2=>'Баянзүрх',
        3=>'Сонгинохайрхан',
        4=>'Сүхбаатар',
        5=>'Хан-Уул',
        6=>'Чингэлтэй',
        7=>'Багануур',
        8=>'Налайх',
        9=>'Багахангай'
    );
    return $array;
    
  }
  
    public static function getDistrictForOptions()
  {
    return '<option value="">Дүүрэг</option>
    <option value="1">Баянгол</option>
    <option value="2">Баянзүрх</option>
    <option value="3">Сонгинохайрхан</option>
    <option value="4">Сүхбаатар</option>
    <option value="5">Хан-Уул</option>
    <option value="6">Чингэлтэй</option>
    <option value="7">Багануур</option>
    <option value="8">Налайх</option>
    <option value="9">Багахангай</option>';
      
    }
  
}


?>
